package com.bank.doman.auth.io.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotNull;
import java.time.Instant;
import java.util.List;

/**
 * 类UpdateMenumBo.java的实现描述：菜单vo
 *
 * @author zach
 * @Date :2020-06-23 15:00.
 */
@Setter
@Getter
@ApiModel("菜单vo")
public class MenuVo {

    @NotNull
    @ApiModelProperty("id")
    private String id;
    @ApiModelProperty("父级菜单ID")
    private String pid;
    @NotNull
    @ApiModelProperty(value = "菜单Code",required = true)
    private String code;
    @NotNull
    @ApiModelProperty(value = "菜单名称",required = true)
    private String name;
    @NotNull
    @ApiModelProperty(value = "路径",required = true)
    private String path;
    @NotNull
    @ApiModelProperty(value = "类型0菜单1按钮",required = true)
    private Integer type;
    @NotNull
    @ApiModelProperty(value = "是否隐藏 0不隐藏1隐藏",required = true)
    private Integer hidden;
    @ApiModelProperty("组件")
    private String component;
    @ApiModelProperty("重定向")
    private String redirect;
    @ApiModelProperty("图标")
    private String icon;
    @ApiModelProperty("是否有缓存0没有缓存1有")
    private Integer noCache;
    @ApiModelProperty(value = "创建时间")
    private Instant gmtCreated;

    @ApiModelProperty(value = "修改时间")
    private Instant gmtModified;
    @ApiModelProperty("子菜单")
    private List<MenuVo> child;
}
